VMX: correct error handling in vmx_create_vmcs()
authorJan Beulich <jbeulich@suse.com>
Mon, 31 Oct 2022 12:20:40 +0000 (13:20 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 31 Oct 2022 12:20:40 +0000 (13:20 +0100)
commit02ab5e97c41d275ccea0910b1d8bce41ed1be5bf
tree2cba28b287b28d2217449c50651d8e5834081da9
parent5dae06578cd5dcc312175b00ed6836a85732438d
VMX: correct error handling in vmx_create_vmcs()

With the addition of vmx_add_msr() calls to construct_vmcs() there are
now cases where simply freeing the VMCS isn't enough: The MSR bitmap
page as well as one of the MSR area ones (if it's the 2nd vmx_add_msr()
which fails) may also need freeing. Switch to using vmx_destroy_vmcs()
instead.

Fixes: 3bd36952dab6 ("x86/spec-ctrl: Introduce an option to control L1D_FLUSH for HVM HAP guests")
Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
master commit: 448d28309f1a966bdc850aff1a637e0b79a03e43
master date: 2022-10-12 17:57:56 +0200
xen/arch/x86/hvm/vmx/vmcs.c